Integration of collaboration systems in an instant messaging application

ABSTRACT

A user of an instant messaging application may interact with instant messaging contacts in other collaboration applications (e.g., e-mail, calendar applications, etc.). IM conversations may relate to information in the collaboration applications. For example, an employee may send an e-mail containing marketing data to his manager and wishes to discuss the data further. The employee sends an IM to the manager referencing the data. The manager should read the e-mail before responding, but the manager may not know that she received the e-mail. Information from a plurality of collaboration applications can be integrated into an instant messaging application. A collaboration integration unit can collect and associate information from the collaboration applications with instant messaging contacts and provide suggestions based on the information. In the previous example, the manager&#39;s instant messaging application collects information from an e-mail application and indicates that she has an unread e-mail from the employee.

RELATED APPLICATIONS

This application claims the priority benefit of U.S. application Ser.No. 12/349,014 filed Jan. 6, 2009.

BACKGROUND

Embodiments of the inventive subject matter generally relate to thefield of instant messaging applications, and more particularly tointegration of collaboration systems in an instant messagingapplication.

Instant messaging applications allow two or more users to communicate inreal time by sending messages via standard internet protocol(s). Usersmay create contact lists of friends, family and business associates inthe instant messaging application. The application allows the user tocheck if a certain contact is online and exchange messages with them.Instant messaging applications is rapidly becoming a preferred means ofbusiness collaboration because many instant messaging applicationssupport voice conversations, file sharing, and text based chat.

SUMMARY

Embodiments include a method directed to retrieving informationcorresponding to a plurality of instant messaging contacts from one ormore collaboration applications, where the plurality of instantmessaging contacts are stored by an instant messaging application. Acontact priority is determined for each of the plurality of instantmessaging contacts based, at least in part, on the associatedinformation. The priority can suggest a level of attention for each ofthe instant messaging contacts. A tip may be generated based on thecontact priority, where the tip specifies a reason for the contactpriority. An indication of the priority and the tip are displayed in arminstant messaging contacts list.

BRIEF DESCRIPTION OF THE DRAWINGS

The present embodiments may be better understood, and numerous objects,features, and advantages made apparent to those skilled in the art byreferencing the accompanying drawings.

FIG. 1 is an example conceptual diagram of integrating information fromcollaboration applications into an instant messaging application.

FIG. 2 is an example conceptual diagram of determining priorities ofinstant messaging contacts based on information from collaborationapplications associated with the instant messaging contacts.

FIG. 3 is a flowchart depicting example operations for determiningpriorities of instant messaging contacts based on information fromcollaboration applications associated with the instant messagingcontacts.

FIG. 4 is an example conceptual diagram of determining a priority of anIM based on information from collaboration applications associated withan instant messaging contact.

FIG. 5 is a flowchart depicting example operations for determining apriority of an IM based on information from collaboration applicationsassociated with an instant messaging contact.

FIG. 6 depicts an example computer system.

DESCRIPTION OF EMBODIMENT(S)

The description that follows includes exemplary systems, methods,techniques, instruction sequences and computer program products thatembody techniques of the present inventive subject matter. However, itis understood that the described embodiments may be practiced withoutthese specific details. For instance, although examples refer to instantmessaging applications, embodiments may be implemented in short messageservice (SMS) applications. In other instances, well-known instructioninstances, protocols, structures and techniques have not been shown indetail in order not to obfuscate the description.

A user of an instant messaging application may interact with his or herinstant messaging contacts in other collaboration applications (e.g.,e-mail, online meeting applications, calendar applications, voicemailapplications, etc.). Instant messaging conversations may relate toinformation in the other collaboration applications. For example, anemployee may send an e-mail containing marketing data to his manager andwishes to discuss the data further. The employee may also send aninstant message (IM) to the manager referencing the data. The managershould read the e-mail before responding to the IM, but the manager maynot know that she received the e-mail.

Some embodiments can integrate information from a plurality ofcollaboration applications into an instant messaging application. Forexample, a collaboration integration unit can collect information from aplurality of collaboration applications and associate the informationwith instant messaging contacts and provide suggestions of based on theinformation. From the example above, the manager's instant messagingapplication can collect information from an e-mail application anddisplay, to the manager, a tip indicating that she has an unread e-mailmessage from the employee.

FIG. 1 is an example conceptual diagram of integrating information fromcollaboration applications into an instant messaging application. InFIG. 1, two collaboration devices 101 and 113, and a computer 107 areconnected to a network 117. The collaboration devices can includedesktop computers, personal digital assistants (PDAs), mobile phones,etc. An instant messaging client 103 is running on the collaborationdevice 101. The instant messaging client 103 comprises a collaborationintegration unit 105. An instant messaging client 115 is running oncollaboration device 113. Although not shown, the instant messagingclients 103 and 115 include functionality for sending and receivingmessages, displaying messages, managing instant messaging contacts, etc.An e-mail application 109 and a calendar application 111 are running onthe computer 107.

At stage A, the instant messaging client 105 receives an instant messagefrom an instant messaging contact logged into the instant messagingclient 115.

At stage B, the collaboration integration unit 105 requests informationfrom one or more registered applications corresponding to the instantmessaging contact. The request may include identifying informationassociated with the instant messaging contact (e.g., a full name, ane-mail address, a phone number, etc.). A user registers an applicationwith the collaboration integration unit 105 to indicate that informationfrom the application should be integrated into the instant messagingclient 103. When registering an application, a user may provide anapplication identifier, a username, a password, etc. For example, a usermay provide an e-mail address, password, and mail server address toregister an e-mail application. Examples of registered applicationsinclude an e-mail application, a calendar application, an online meetingapplication, a contact management application, etc. Although theregistered applications are depicted as running on the computer 107,embodiments are not so limited. The registered applications may berunning on the collaboration device 101 or on a server. In this example,the registered applications are the e-mail application 109 and thecalendar application 111.

At stage C, the e-mail application 109 returns, to the collaborationintegration unit 105, information about unread emails. Also, thecalendar application 111 returns, to the collaboration integration unit105, information about scheduled meetings corresponding to the instantmessaging contact. The registered applications may return informationcorresponding to the contact. For example, the e-mail application 109returns information about unread emails from the instant messagingcontact (e.g., emails in which the instant messaging contact's emailaddress is in the “from” field). The registered applications may returninformation corresponding to more than one contact. For example, thee-mail application 109 returns information about all unread e-mails. Thecollaboration integration unit 105 examines the information to determineif any of the information is associated with the instant messagingcontact.

At stage D, the collaboration integration unit 105 determines a priorityfor the instant message and generates a tip based on the information.The priority indicates a suggested level of attention to be paid to anIM or an instant messaging contact. The tip can specify a reason for thepriority. The tip may be generated from a tip template based on theinformation and the priority. The tip template may be stored locally andmay be customized by a user. For example, an instant message is receivedfrom an instant messaging contact that a user is scheduled to meet infifteen minutes. The collaboration integration unit 105 may determine ahigh priority for the instant message because the communication may beurgent in regard to the meeting. The collaboration integration unit 105may generate a tip stating, “URGENT: You have a meeting with Contact Xin fifteen minutes.”

At stage E, the instant messaging client 103 displays the instantmessage with an indication of the priority and the tip. Priority may beindicated by a color scheme, a font effect (e.g., underline, bold,italics, etc.), a flashing banner, etc. The tip may be displayed in anIM window, in a mouse-over balloon, etc.

FIG. 2 is an example conceptual diagram of determining priorities ofinstant messaging contacts based on information from collaborationapplications associated with the instant messaging contacts. In FIG. 2,an instant messaging client 205, an e-mail application 225 and acalendar application 227 are running on a collaboration device 203. Theinstant messaging client comprises a collaboration integration unit 207.The e-mail application 225 and the calendar application 227 compriseregistered applications 223 of the collaboration integration unit 207.

At stage A, the instant messaging client 205 detects launch of aninstant messaging application. For example, a user signs in to aninstant messaging application.

At stage B, the collaboration integration unit 207 requests informationfrom the registered applications 223 corresponding to a plurality ofinstant messaging contacts. In this example, there are seven instantmessaging contacts, Cortney 209, James 211, Marcos 213, Mary 215, Alice217, George 219, and Matt 221.

At stage C, the e-mail application 225 returns information about unreademails. In this example, the e-mail application 225 returns informationabout an unread e-mail from contact James 211.

At stage D, the calendar application 227 returns information aboutscheduled meetings. In this example, the calendar application 227returns information about a meeting with contact Marcos 213.

At stage E, the collaboration integration unit 207 determines a priorityfor each of the instant messaging contacts and generates a tip based onthe information. In this example, the collaboration integration unit 207determines a high priority for the contact Marcos 213 and a mediumpriority for the contact James 211. The collaboration integration unit207 generates a tip 211A, “1 unread email,” for the contact James 211and a tip 213, “Meeting in 30 min,” for the contact Marcos 213.

At stage F, the instant messaging client 205 displays an indication ofthe priority and the tip for each of the plurality of contacts in acontacts list 201. In this example, the contact Marcos 213 is doubleunderlined to indicate the high priority. The contact James 211 isbolded to indicate the medium priority. Priority may also be indicatedby a color, flashing text, font size, etc. Contacts may also be arrangedby priority in the contacts list 201. The tips 211A and 213A aredisplayed under the contacts James 211 and Marcos 213, respectively.

In some embodiments, a tip may contain a link to information in acollaboration application. For example, a tip indicating an unreadmessaged may contain a link to view the unread email. When the link isclicked, the email is displayed in the instant messaging application 205or in the e-mail application 225.

Although examples refer to a collaboration integration unit requestinginformation from one or more registered applications, embodiments arenot so limited. The collaboration integration unit may retrieveinformation from the registered applications by accessing data stored bythe registered applications. For example, the collaboration integrationunit retrieves information from a database maintained by a registeredcalendar application. As another example, the collaboration integrationunit retrieves e-mail messages stored on a mail server of a registerede-mail application.

FIG. 3 is a flowchart depicting example operations for determiningpriorities of instant messaging contacts based on information fromcollaboration applications associated with the instant messagingcontacts. At block 301, a loop begins for each instant messagingcontact.

At block 303, a collaboration integration unit retrieves informationcorresponding to the instant messaging contact from one or moreregistered applications. For example, the collaboration integration unitretrieves information about meetings scheduled for today from a calendardatabase. The collaboration integration unit may also access arepository storing profile information of the instant messaging contact.The profile information may include the instant messaging contact's fillname, a job title, a location, one or more e-mail addresses, a phonenumber, etc. The public information may be cached in an instantmessaging client and used to associate retrieved data with the instantmessaging contact. A user may also indicate profile information of theinstant messaging contact.

At block 305, the collaboration integration unit determines ifinformation corresponding to the instant messaging contact wasretrieved. For example, the collaboration integration unit retrieves anemail message. The collaboration integration unit determines thatinformation corresponding to the instant messaging contact was retrievedif the instant messaging contact's name and/or email address iscontained the email message. If information corresponding to the instantmessaging contact was retrieved, flow continues at block 306. Ifinformation corresponding to the instant messaging contact was notretrieved, flow continues at block 313.

At block 306, the collaboration integration unit associates theinformation with the instant messaging contact.

At block 307, the collaboration integration unit determines a priorityfor the instant messaging contact based on the associated information.Priority may be influenced by other factors in addition to theassociated information. For example, priority of a contact may beinfluenced by company rank. If two contacts have unread e-mail messages,the contact with a higher company rank would have a higher priority. Asanother example, a deadline may be approaching for a project, so a useradds instant messaging contacts on the project team to a list ofimportant contacts.

At block 309, the collaboration integration unit generates a tip basedon the associated information and the priority. For example, an instantmessaging contact has a high priority because there is an unread urgente-mail from the instant messaging contact and a meeting is scheduled forthe contact in 30 minutes. The collaboration integration unit maygenerate a tip, “1 unread URGENT e-mail, meeting in 30 min.”

At block 311, the collaboration integration unit displays an indicationof the priority and the tip in a contacts list. In the above example,the priority can be indicated by displaying the instant messagingcontact's name in flashing text. When a user hovers over the name with amouse, the tip is displayed in a bubble. In addition to displaying theindication of the priority and the tip in the contacts list, thepriority indication and tip may be displayed in an IM.

At block 313, the loop ends.

The flow in FIG. 3 can be executed when an instant messaging applicationis started and at certain intervals while the instant messagingapplication is running. The interval may be specified by a user or maybe a default value.

In addition to determining a priority for an instant messaging contact,a priority may be determined for an IM. FIG. 4 is an example conceptualdiagram of determining a priority of an IM based on information fromcollaboration applications associated with an instant messaging contact.In FIG. 4, an instant messaging client 405, an e-mail application 421and a calendar application 423 are running on a collaboration device403. The instant messaging client comprises a collaboration integrationunit 407. The e-mail application 421 and the calendar application 423comprise registered applications 419 of the collaboration integrationunit 407.

At stage A, the instant messaging client 405 detects that an IM 401 hasbeen received from an instant messaging contact.

At stage B, the collaboration integration unit 407 requests informationfrom registered applications 419 corresponding to the instant messagingcontact.

At stage C, the e-mail application 421 returns information about unreademails from the instant messaging contact. In this example, there is oneunread e-mail from the instant messaging contact.

At stage D, the collaboration integration unit 407 determines a priorityfor the instant message and generates a tip based on the information. Inthis example, the instant message is assigned a medium priority becausethere is an unread e-mail from the instant messaging contact. Thepriority suggests that the e-mail should be read before responding tothe IM. The collaboration integration unit generates a tip from a tiptemplate based on the priority. The generated tip states, “You have 1unread e-mail from Marcos. You may want to read the email beforeresponding.”

At stage E, the instant messaging client displays the instant messagewith an indication of the priority and the generated tip. Priority maybe indicated by a color scheme, flashing text, font effects (e.g., bold,italics, underline, etc.). The tip may be displayed in an IM window, ahover balloon, etc.

FIG. 5 is a flowchart depicting example operations for determining apriority of an IM based on information from collaboration applicationsassociated with an instant messaging contact. Flow begins at block 501,where an instant messaging application detects than an IM has beenreceived from an instant messaging contact.

At block 503, a collaboration integration unit retrieves informationcorresponding to the instant messaging contact from one or moreregistered applications. For example, the collaboration integration unitaccesses profile information in a repository to determine the instantmessaging contact's name and e-mail addresses. The collaborationintegration unit then retrieves e-mail messages from a mail server. Thecollaboration integration unit examines the retrieved e-mail for theinstant messaging contact's name and email addresses.

At block 505, the collaboration integration unit determines ifinformation corresponding to the instant messaging contact wasretrieved. In the above example, the collaboration integration unitdetermines that information corresponding to the instant messagingcontact was retrieved if the instant messaging contact's name and/oremail address is contained in one of the email messages. If informationcorresponding to the instant messaging contact was retrieved, flowcontinues at block 506. If information corresponding to the instantmessaging contact was not retrieved, flow continues ends.

At block 506, the collaboration integration unit associates theinformation with the instant messaging contact.

At block 507, the collaboration integration unit determines a priorityfor the IM based on the associated information. For example, thecollaboration integration unit determines a medium priority for the IMbecause there is one unread e-mail containing the instant messagingcontact's name in the e-mail's message text.

At block 509, the collaboration integration unit generates a tip from atip template based on the received information and the priority. In theabove example, the tip states, “1 unread e-mail references Contact X.You may want to read the e-mail before responding.”

At block 511, the instant messaging client displays the IM with anindication of the priority and the generated tip. For example, thepriority is indicated by a red color scheme and the generated tip isdisplayed in a window of the IM. In addition to displaying theindication of the priority and the generated tip, the indication of thepriority and generated tip may be displayed in a contacts list.

Embodiments may take the form of an entirely hardware embodiment, anentirely software embodiment (including firmware, resident software,micro-code, etc.) or an embodiment combining software and hardwareaspects that may all generally be referred to herein as a “circuit,”“module” or “system.” Furthermore, embodiments of the inventive subjectmatter may take the form of a computer program product embodied in anytangible medium of expression having computer usable program codeembodied in the medium. The described embodiments may be provided as acomputer program product, or software, that may include amachine-readable medium having stored thereon instructions, which may beused to program a computer system (or other electronic device(s)) toperform a process according to embodiments, whether presently describedor not, since every conceivable variation is not enumerated herein. Amachine readable medium includes any mechanism for storing(“machine-readable storage medium”) or transmitting (“machine-readabletransmission medium”) information in a form (e.g., software, processingapplication) readable by a machine (e.g., a computer). Themachine-readable storage medium may include, but is not limited to,magnetic storage medium (e.g., floppy diskette); optical storage medium(e.g., CD-ROM); magneto-optical storage medium; read only memory (ROM);random access memory (RAM); erasable programmable memory (e.g., EPROMand EEPROM); flash memory; or other types of medium suitable for storingelectronic instructions. In addition, machine-readable transmissionmedium embodiments may be embodied in an electrical, optical, acousticalor other form of propagated signal (e.g., carrier waves, infraredsignals, digital signals, etc.), or wireline, wireless, or othercommunications medium.

Computer program code for carrying out operations of the embodiments maybe written in any combination of one or more programming languages,including an object oriented programming language such as Java,Smalltalk, C++ or the like and conventional procedural programminglanguages, such as the “C” programming language or similar programminglanguages. The program code may execute entirely on a user's computer,partly on the user's computer, as a stand-alone software package, partlyon the user's computer and partly on a remote computer or entirely onthe remote computer or server. In the latter scenario, the remotecomputer may be connected to the user's computer through any type ofnetwork, including a local area network (LAN), a personal area network(PAN), or a wide area network (WAN), or the connection may be made to anexternal computer (for example, through the Internet using an InternetService Provider).

FIG. 6 depicts an example computer system. A computer system includes aprocessor unit 601 (possibly including multiple processors, multiplecores, multiple nodes, and/or implementing multi-threading, etc.). Thecomputer system includes memory 607. The memory 607 may be system memory(e.g., one or more of cache, SRAM, DRAM, zero capacitor RAM, TwinTransistor RAM, eDRAM, EDO RAM, DDR RAM, EEPROM, NRAM, RRAM, SONOS,PRAM, etc.) or any one or more of the above already described possiblerealizations of machine-readable media. The computer system alsoincludes a bus 603 (e.g., PCI, ISA, PCI-Express, HyperTransport®,InfiniBand®, NuBus, etc.), a network interface 605 (e.g., an ATMinterface, an Ethernet interface, a Frame Relay interface, SONETinterface, wireless interface, etc.), and a storage device(s) 609 (e.g.,optical storage, magnetic storage, etc.). The computer system alsoincludes a collaboration integration unit 621 that retrieves informationfrom a plurality of registered applications, associates the retrievedinformation with a plurality of instant messaging contacts, determinesthe priority of the instant messaging contacts based on the associatedinformation and generates a tip based on the priority. Any one of thesefunctionalities may be partially (or entirely) implemented in hardwareand/or on the processing unit 601. For example, the functionality may beimplemented with an application specific integrated circuit, in logicimplemented in the processing unit 601, in a co-processor on aperipheral device or card, etc. Further, realizations may include feweror additional components not illustrated in FIG. 6 (e.g., video cards,audio cards, additional network interfaces, peripheral devices, etc.).The processor unit 601, the storage device(s) 609, and the networkinterface 605 are coupled to the bus 603. Although illustrated as beingcoupled to the bus 603, the memory 607 may be coupled to the processorunit 601.

While the embodiments are described with reference to variousimplementations and exploitations, it will be understood that theseembodiments are illustrative and that the scope of the inventive subjectmatter is not limited to them. In general, techniques for integration ofcollaboration systems in an instant messaging application as describedherein may be implemented with facilities consistent with any hardwaresystem or hardware systems. Many variations, modifications, additions,and improvements are possible.

Plural instances may be provided for components, operations orstructures described herein as a single instance. Finally, boundariesbetween various components, operations and data stores are somewhatarbitrary, and particular operations are illustrated in the context ofspecific illustrative configurations. Other allocations of functionalityare envisioned and may fall within the scope of the inventive subjectmatter. In general, structures and functionality presented as separatecomponents in the exemplary configurations may be implemented as acombined structure or component. Similarly, structures and functionalitypresented as a single component may be implemented as separatecomponents. These and other variations, modifications, additions, andimprovements may fall within the scope of the inventive subject matter.

What is claimed is:
 1. A method comprising: receiving informationcorresponding to a plurality of instant messaging contacts from one ormore collaboration applications, wherein the plurality of instantmessaging contacts are stored by an instant messaging application,wherein the one or more collaboration applications comprise an e-mailapplication, a calendar application, an online meeting application, anda voicemail application; associating the information with the pluralityof instant messaging contacts; determining a contact priority for eachof the plurality of instant messaging contacts based, at least in part,on the association between the information and the plurality of instantmessaging contacts, wherein the contact priority indicates an attentionlevel associated with each of the plurality of instant messagingcontacts; generating a contact tip based, at least in part, on thecontact priority, wherein the contact tip specifies a reason for thecontact priority; displaying an indication of the contact priority andthe contact tip in an instant messaging contacts list; detecting that aninstant message has been received from one of the plurality of instantmessaging contacts; receiving, from the one or more collaborationapplications, contact information corresponding to the instant messagingcontact; associating the contact information with the instant messagingcontact; determining a message priority for the instant message based,at least in part, on the association between the contact information andthe instant messaging contact, wherein the message priority indicatesthe attention level for the instant message; generating a message tipbased, at least in part, on the message priority, wherein the messagetip specifies a reason for the message priority; and displaying theinstant message with an indication of the message priority and themessage tip.
 2. The method of claim 1, wherein said receiving theinformation corresponding to the plurality of instant messaging contactsfrom the one or more collaboration applications further comprises atleast one of requesting the information from the one or morecollaboration applications, and accessing data stored by the one or morecollaboration applications.
 3. The method of claim 1, whereindetermining the contact priority for each of the plurality of instantmessaging contacts includes determining the contact priority inaccordance with a read status of an email from an instant messagingcontact of the plurality of instant messaging contacts.
 4. The method ofclaim 1, wherein said associating the information with the plurality ofinstant messaging contacts further comprises retrieving profileinformation of the plurality of instant messaging contacts from aprofile repository, wherein the profile information comprises at leastone of a full name, an e-mail address, a phone number, a job title, anda location.
 5. The method of claim 4, further comprising searching theinformation for profile information of the plurality of instantmessaging contacts.
 6. The method of claim 1 further comprising:detecting user selection of a link in the contact tip; and displayingthe associated information in at least one of the instant messagingapplication and one of the one or more collaboration applications. 7.The method of claim 1, wherein the indication of the contact priority isat least one of a color scheme, a font effect, a font size, and flashingtext.
 8. The method of claim 1, wherein determining the contact priorityfor each of the plurality of instant messaging contacts includesdetermining the contact priority in accordance with a project deadlinefor a project including an instant messaging contact of the plurality ofinstant messaging contacts.
 9. The method of claim 1, whereindetermining the contact priority for each of the plurality of instantmessaging contacts includes determining the contact priority inaccordance with a calendar event associated with an instant messagingcontact of the plurality of instant messaging contacts.
 10. One or moremachine-readable storage media having stored therein a program product,which when executed by a set of one or more processor units causes theset of one or more processor units to perform operations that comprise:receiving information corresponding to a plurality of instant messagingcontacts from one or more collaboration applications, wherein theplurality of instant messaging contacts are stored by an instantmessaging application, wherein the one or more collaborationapplications comprise an e-mail application, a calendar application, anonline meeting application, and a voicemail application; associating theinformation with the plurality of instant messaging contacts;determining a contact priority for each of the plurality of instantmessaging contacts based, at least in part, on the association betweenthe information and the plurality of instant messaging contacts, whereinthe contact priority indicates an attention level associated with eachof the plurality of instant messaging contacts; generating a contact tipbased, at least in part, on the contact priority, wherein the contacttip specifies a reason for the contact priority; displaying anindication of the contact priority and the contact tip in an instantmessaging contacts list; detecting that an instant message has beenreceived from one of the instant messaging contacts; receiving, from theone or more collaboration applications, contact informationcorresponding to the instant messaging contact; associating the contactinformation with the instant messaging contact; determining a messagepriority for the instant message based, at least in part, on theassociation between the contact information and the instant messagingcontact, wherein the message priority indicates the attention level forthe instant message; generating a message tip based, at least in part,on the message priority, wherein the message tip specifies a reason forthe message priority; and displaying the instant message with anindication of the message priority and the message tip.
 11. Themachine-readable storage media of claim 10, wherein said receiving theinformation corresponding to the plurality of instant messaging contactsfrom the one or more collaboration applications further comprises atleast one of requesting the information from the one or morecollaboration applications, and accessing data stored by the one or morecollaboration applications.
 12. The machine-readable storage media ofclaim 10, wherein said associating the information with the plurality ofinstant messaging contacts further comprises retrieving profileinformation of the plurality of instant messaging contacts from aprofile repository, wherein the profile information comprises at leastone of a full name, an e-mail address, a phone number, a job title, anda location.
 13. The machine-readable storage media of claim 12, whereinthe operations further comprise searching the information for profileinformation of the plurality of instant messaging contacts.
 14. Themachine-readable storage media of claim 10, wherein the operationsfurther comprise: detecting user selection of a link in the contact tip;and displaying the associated information in at least one of the instantmessaging application and one of the one or more collaborationapplications.
 15. The machine-readable storage media of claim 10,wherein the indication of the contact priority is at least one of acolor scheme, a font effect, a font size, and flashing text.
 16. Anapparatus comprising: a set of one or more hardware processing units; anetwork interface; and a collaboration integration unit executable by atleast one of the set of one or more hardware processing units andconfigured to, receive information corresponding to a plurality ofinstant messaging contacts from one or more collaboration applications,wherein the plurality of instant messaging contacts are stored by aninstant messaging application, wherein the collaboration applicationscomprise an e-mail application, a calendar application, an onlinemeeting application, and a voicemail application; associate theinformation with the plurality of instant messaging contacts; determinea contact priority for each of the plurality of instant messagingcontacts based, at least in part, on the association between theinformation and the plurality of instant messaging contacts, wherein thecontact priority indicates an attention level associated with each ofthe plurality of instant messaging contacts; generate a contact tipbased, at least in part, on the contact priority, wherein the contacttip specifies a reason for the contact priority; and display anindication of the contact priority and the contact tip in an instantmessaging contacts list; detect that an instant message has beenreceived from one of the plurality of instant messaging contacts;receive, from the one or more collaboration applications, contactinformation corresponding to the instant messaging contact; associatethe contact information with the instant messaging contact; determine amessage priority for the instant message based, at least in part, on theassociation between the contact information and the instant messagingcontact, wherein the message priority indicates the attention level forthe instant message; generate a message tip based, at least in part, onthe message priority, wherein the message tip specifies a reason for themessage priority; and display the instant message with an indication ofthe message priority and the message tip.